matrix.hpp File Reference

Declaration of the Matrix class. More...

#include <boost/scoped_ptr.hpp>
#include <gridpack/parallel/distributed.hpp>
#include <gridpack/utilities/uncopyable.hpp>
#include <gridpack/math/matrix_implementation.hpp>
#include <gridpack/math/vector.hpp>
#include <gridpack/math/matrix_storage_type.hpp>
Include dependency graph for matrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gridpack::math::MatrixT< T, I >
 A parallel or serial matrix of real values. More...

Namespaces

namespace  gridpack
namespace  gridpack::math

Typedefs

typedef MatrixT< ComplexType > gridpack::math::ComplexMatrix
typedef MatrixT< RealType > gridpack::math::RealMatrix
typedef ComplexMatrix gridpack::math::Matrix
 The main matrix type.

Functions

template<typename T , typename I >
void gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result)
 Add two Matrix instances and put the result in a third.
template<typename T , typename I >
void gridpack::math::transpose (const MatrixT< T, I > &A, MatrixT< T, I > &result)
 Make the transpose of a Matrix and put it in another.
template<typename T , typename I >
void gridpack::math::column (const MatrixT< T, I > &A, const int &cidx, VectorT< T, I > &x)
 Get a column from the Matrix and put in specified Vector.
template<typename T , typename I >
void gridpack::math::diagonal (const MatrixT< T, I > &A, VectorT< T, I > &x)
 Get the diagonal from a Matrix and put it in specified Vector.
template<typename T , typename I >
void gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result)
 Multiply two Matrix instances and put result in existing Matrix.
template<typename T , typename I >
void gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result)
 Multiply a Matrix by a Vector and put result in existing Vector.
template<typename T , typename I >
void gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result)
 Multiply the transpose of a Matrix by a Vector and put the result in existing Vector.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B)
 Add two Matrix instances.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::transpose (const MatrixT< T, I > &A)
 Make the transpose of a Matrix.
template<typename T , typename I >
VectorT< T, I > * gridpack::math::column (const MatrixT< T, I > &A, const int &cidx)
 Get a column from the Matrix and put in new Vector.
template<typename T , typename I >
VectorT< T, I > * gridpack::math::diagonal (const MatrixT< T, I > &A)
 Get the diagonal from a Matrix and put in new Vector.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::diagonal (const VectorT< T, I > &x, const MatrixStorageType &stype=Sparse)
 Make a diagonal Matrix from a Vector.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B)
 Multiply two Matrix instances and make a new one.
template<typename T , typename I >
VectorT< T, I > * gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x)
 Multiply a Matrix by a Vector and make a new Vector for the result.
template<typename T , typename I >
VectorT< T, I > * gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x)
 Multiply the transpose of a Matrix by a Vector and make a new Vector for the result.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::identity (const MatrixT< T, I > &A)
 Make an identity matrix with the same ownership as the specified matrix.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::real (const MatrixT< T, I > &A)
 Create a new matrix containing the real part of the specified matrix.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::imaginary (const MatrixT< T, I > &A)
 Create a new matrix containing the imaginary part of the specified matrix.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::conjugate (const MatrixT< T, I > &A)
 Create a new matrix containing the complex conjugate of the specified matrix.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::storageType (const MatrixT< T, I > &A, const MatrixStorageType &new_type)
 Create a copy of a Matrix, possibly with a different storage type.
template<typename T , typename I >
MatrixT< T, I > * gridpack::math::matrixLoadBinary (const parallel::Communicator &comm, const char *filename)
 Create a new matrix and load its contents from the specified (binary) file.

Detailed Description

Declaration of the Matrix class.

Author:
William A. Perkins
Date:
2015-08-18 14:09:32 d3g096
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Feb 2020 for GridPACK by  doxygen 1.6.1